package com.qiche.model;

import lombok.Data;

import java.util.Date;
import javax.persistence.*;
@Data
@Table(name = "card")
public class Card2 {
    @Id
    private Long id;

    /**
     * 卡卷编码
     */
    @Column(name = "card_code")
    private String cardCode;

    /**
     * 卡卷类型  0:4s店卡，1:洗车店卡
     */
    @Column(name = "card_type")
    private String cardType;

    /**
     * 创建日期
     */
    @Column(name = "create_date")
    private Date createDate;

    /**
     * 卡卷状态 0正常，1已领取，2已核销
     */
    private String status;

    /**
     * 领取日期
     */
    @Column(name = "receiving_date")
    private Date receivingDate;

    /**
     * 使用期限从领取日期开始计算
     */
    @Column(name = "use_period")
    private Integer usePeriod;

    /**
     * 卡卷金额
     */
    @Column(name = "card_amount")
    private Long cardAmount;

    /**
     * 核销门店编码
     */
    @Column(name = "writeoff_shop")
    private Long writeoffShop;

    /**
     * 活动编码
     */
    @Column(name = "activity_id")
    private Long activityId;

    /**
     * 领取会员
     */
    @Column(name = "member_id")
    private Long memberId;

    /**
     * 领取金额（根据卡卷金额以及活动策略计算获得）
     */
    @Column(name = "get_amount")
    private Long getAmount;

    /**
     * 领取策略
     */
    @Column(name = "tactics_id")
    private Long tacticsId;

    /**
     * 卡卷标题
     */
    @Column(name = "card_title")
    private String cardTitle;

    /**
     * 商户名
     */
    @Column(name = "merchant_name")
    private String merchantName;

    /**
     * 商户介绍
     */
    @Column(name = "merchant_introduction")
    private String merchantIntroduction;

    /**
     * 可用时段
     */
    private String available;

    /**
     * 核销日期
     */
    @Column(name = "writeoff_date")
    private Date writeoffDate;

    /**
     * 允许核销的开始时间
     */
    @Column(name = "verify_begin_date")
    private Date verifyBeginDate;

    /**
     * 允许核销的结束时间
     */
    @Column(name = "verify_end_date")
    private Date verifyEndDate;

    @Column(name = "owner_phone")
    private String ownerPhone;
    @Transient
    private Activity2 activity;

    public Activity2 getActivity() {
        return activity;
    }
    @Transient
    private Member2 member;

    @Transient
    private Verification2 verification;


    public void setActivity(Activity2 activity) {
        this.activity = activity;
    }

    /**
     * @return id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取卡卷编码
     *
     * @return card_code - 卡卷编码
     */
    public String getCardCode() {
        return cardCode;
    }

    /**
     * 设置卡卷编码
     *
     * @param cardCode 卡卷编码
     */
    public void setCardCode(String cardCode) {
        this.cardCode = cardCode;
    }

    /**
     * 获取卡卷类型  0:4s店卡，1:洗车店卡
     *
     * @return card_type - 卡卷类型  0:4s店卡，1:洗车店卡
     */
    public String getCardType() {
        return cardType;
    }

    /**
     * 设置卡卷类型  0:4s店卡，1:洗车店卡
     *
     * @param cardType 卡卷类型  0:4s店卡，1:洗车店卡
     */
    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    /**
     * 获取创建日期
     *
     * @return create_date - 创建日期
     */
    public Date getCreateDate() {
        return createDate;
    }

    /**
     * 设置创建日期
     *
     * @param createDate 创建日期
     */
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    /**
     * 获取卡卷状态 0正常，1已领取，2已核销
     *
     * @return status - 卡卷状态 0正常，1已领取，2已核销
     */
    public String getStatus() {
        return status;
    }

    /**
     * 设置卡卷状态 0正常，1已领取，2已核销
     *
     * @param status 卡卷状态 0正常，1已领取，2已核销
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * 获取领取日期
     *
     * @return receiving_date - 领取日期
     */
    public Date getReceivingDate() {
        return receivingDate;
    }

    /**
     * 设置领取日期
     *
     * @param receivingDate 领取日期
     */
    public void setReceivingDate(Date receivingDate) {
        this.receivingDate = receivingDate;
    }

    /**
     * 获取使用期限从领取日期开始计算
     *
     * @return use_period - 使用期限从领取日期开始计算
     */
    public Integer getUsePeriod() {
        return usePeriod;
    }

    /**
     * 设置使用期限从领取日期开始计算
     *
     * @param usePeriod 使用期限从领取日期开始计算
     */
    public void setUsePeriod(Integer usePeriod) {
        this.usePeriod = usePeriod;
    }

    /**
     * 获取卡卷金额
     *
     * @return card_amount - 卡卷金额
     */
    public Long getCardAmount() {
        return cardAmount;
    }

    /**
     * 设置卡卷金额
     *
     * @param cardAmount 卡卷金额
     */
    public void setCardAmount(Long cardAmount) {
        this.cardAmount = cardAmount;
    }

    /**
     * 获取核销门店编码
     *
     * @return writeoff_shop - 核销门店编码
     */
    public Long getWriteoffShop() {
        return writeoffShop;
    }

    /**
     * 设置核销门店编码
     *
     * @param writeoffShop 核销门店编码
     */
    public void setWriteoffShop(Long writeoffShop) {
        this.writeoffShop = writeoffShop;
    }

    /**
     * 获取活动编码
     *
     * @return activity_id - 活动编码
     */
    public Long getActivityId() {
        return activityId;
    }

    /**
     * 设置活动编码
     *
     * @param activityId 活动编码
     */
    public void setActivityId(Long activityId) {
        this.activityId = activityId;
    }

    /**
     * 获取领取会员
     *
     * @return member_id - 领取会员
     */
    public Long getMemberId() {
        return memberId;
    }

    /**
     * 设置领取会员
     *
     * @param memberId 领取会员
     */
    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    /**
     * 获取领取金额（根据卡卷金额以及活动策略计算获得）
     *
     * @return get_amount - 领取金额（根据卡卷金额以及活动策略计算获得）
     */
    public Long getGetAmount() {
        return getAmount;
    }

    /**
     * 设置领取金额（根据卡卷金额以及活动策略计算获得）
     *
     * @param getAmount 领取金额（根据卡卷金额以及活动策略计算获得）
     */
    public void setGetAmount(Long getAmount) {
        this.getAmount = getAmount;
    }

    /**
     * 获取领取策略
     *
     * @return tactics_id - 领取策略
     */
    public Long getTacticsId() {
        return tacticsId;
    }

    /**
     * 设置领取策略
     *
     * @param tacticsId 领取策略
     */
    public void setTacticsId(Long tacticsId) {
        this.tacticsId = tacticsId;
    }

    /**
     * 获取卡卷标题
     *
     * @return card_title - 卡卷标题
     */
    public String getCardTitle() {
        return cardTitle;
    }

    /**
     * 设置卡卷标题
     *
     * @param cardTitle 卡卷标题
     */
    public void setCardTitle(String cardTitle) {
        this.cardTitle = cardTitle;
    }

    /**
     * 获取商户名
     *
     * @return merchant_name - 商户名
     */
    public String getMerchantName() {
        return merchantName;
    }

    /**
     * 设置商户名
     *
     * @param merchantName 商户名
     */
    public void setMerchantName(String merchantName) {
        this.merchantName = merchantName;
    }

    /**
     * 获取商户介绍
     *
     * @return merchant_introduction - 商户介绍
     */
    public String getMerchantIntroduction() {
        return merchantIntroduction;
    }

    /**
     * 设置商户介绍
     *
     * @param merchantIntroduction 商户介绍
     */
    public void setMerchantIntroduction(String merchantIntroduction) {
        this.merchantIntroduction = merchantIntroduction;
    }

    /**
     * 获取可用时段
     *
     * @return available - 可用时段
     */
    public String getAvailable() {
        return available;
    }

    /**
     * 设置可用时段
     *
     * @param available 可用时段
     */
    public void setAvailable(String available) {
        this.available = available;
    }

    /**
     * 获取核销日期
     *
     * @return writeoff_date - 核销日期
     */
    public Date getWriteoffDate() {
        return writeoffDate;
    }

    /**
     * 设置核销日期
     *
     * @param writeoffDate 核销日期
     */
    public void setWriteoffDate(Date writeoffDate) {
        this.writeoffDate = writeoffDate;
    }

    /**
     * 获取允许核销的开始时间
     *
     * @return verify_begin_date - 允许核销的开始时间
     */
    public Date getVerifyBeginDate() {
        return verifyBeginDate;
    }

    /**
     * 设置允许核销的开始时间
     *
     * @param verifyBeginDate 允许核销的开始时间
     */
    public void setVerifyBeginDate(Date verifyBeginDate) {
        this.verifyBeginDate = verifyBeginDate;
    }

    /**
     * 获取允许核销的结束时间
     *
     * @return verify_end_date - 允许核销的结束时间
     */
    public Date getVerifyEndDate() {
        return verifyEndDate;
    }

    /**
     * 设置允许核销的结束时间
     *
     * @param verifyEndDate 允许核销的结束时间
     */
    public void setVerifyEndDate(Date verifyEndDate) {
        this.verifyEndDate = verifyEndDate;
    }

    /**
     * @return owner_phone
     */
    public String getOwnerPhone() {
        return ownerPhone;
    }

    /**
     * @param ownerPhone
     */
    public void setOwnerPhone(String ownerPhone) {
        this.ownerPhone = ownerPhone;
    }
}